Agent Module โ Infra API
The Agent API enables executing automation agents via Ansible in two modes: workspace and local. It provides endpoints to trigger execution and check status, with support for traceability via traceId.
POST /agent/executeโ
Initiates the execution of an agent.
๐งพ Sample Requestโ
Workspace Mode:
{
"workspace": true,
"workspaceId": "vm-8c6d0c9c",
"projectId": "1",
"agentRepoUrl": "git@git.geekyants.com:geekyants/builder-studio-ai/agents/aditya-agent-test.git",
"traceId": "abcdef0123456789abcdef0123456791",
"loggerServiceName": "test-logger-service",
"tracerServiceName": "test-tracer-service"
}
Local Mode:
{
"workspace": false,
"projectId": "1",
"agentRepoUrl": "git@git.geekyants.com:geekyants/builder-studio-ai/agents/aditya-agent-test.git",
"traceId": "abcdef0123456789abcdef0123456791",
"loggerServiceName": "test-logger-service",
"tracerServiceName": "test-tracer-service"
}
Responseโ
{
"traceId": "abcdef0123456789abcdef0123456791"
}
GET /agent/status/:traceIdโ
Fetches the execution status of a previously triggered agent.
Responseโ
{
"status": "running",
"traceId": "abcdef0123456789abcdef0123456791",
"loggerServiceName": "test-logger-service",
"tracerServiceName": "test-tracer-service",
"message": "Agent is currently executing"
}
Execution Modesโ
1. Workspace Execution (Not for Dev/Local Usage)โ
-
Set
"workspace": true -
Requires:
workspaceId
-
Used for running agents in isolated workspace environments.
2. Shared Host Execution (Not for Dev/Local Usage)โ
- Set
"workspace": false - Does not require
workspaceId - Used for running agents directly on the Shared Hosts.
Environment-Based Controlโ
Set AGENT_ENV in your environment to control mode:
"local"โ Forces local execution.- Any other value โ Defaults to workspace-based execution.
Ansible Playbook Pathsโ
export const ansibleAgentPaths = {
runAgentOnPrem: {
playbook: './ansible/agent/agentOnPrem.yml',
inventory: './ansible/agent/environment/hosts.yml',
vars: './ansible/agent/vars/vars.yml'
},
runAgentOnLocal: {
playbook: './ansible/agent/agentOnLocal.yml',
inventory: './ansible/agent/environment/hosts.yml',
vars: './ansible/agent/vars/vars.yml'
}
};
Ansible Playbook Workflowsโ
agentOnPrem.yml โ Workspaceโ
Installs Git & Docker on remote VM
Clones agent repo locally โ syncs to remote host
Builds Docker image & runs container with env vars
Collects logs & cleans up
agentOnLocal.yml โ Localโ
Uses local agent code path
Pulls latest from Git
Builds image & runs Docker container locally
Monitors logs; preserves code for reuse